package com.ruoyi.system.service;

import com.ruoyi.system.dto.ConstructionWarningConfigDTO;
import com.ruoyi.system.vo.ConstructionWarningConfigVO;

import java.util.List;

/**
 * 施工预警配置服务接口
 * 
 * @author ruoyi
 * @since 2024-01-01
 */
public interface IConstructionWarningConfigService {

    /**
     * 创建预警配置
     * @param configDTO 配置数据
     * @return 操作结果
     */
    boolean createConfig(ConstructionWarningConfigDTO configDTO);

    /**
     * 更新预警配置
     * @param configDTO 配置数据
     * @return 操作结果
     */
    boolean updateConfig(ConstructionWarningConfigDTO configDTO);

    /**
     * 删除预警配置
     * @param configId 配置ID
     * @return 操作结果
     */
    boolean deleteConfig(Long configId);

    /**
     * 获取预警配置详情
     * @param configId 配置ID
     * @return 配置详情
     */
    ConstructionWarningConfigVO getConfigDetail(Long configId);

    /**
     * 获取预警配置列表
     * @param warningType 预警类型（可选）
     * @return 配置列表
     */
    List<ConstructionWarningConfigVO> getConfigList(String warningType);

    /**
     * 启用/禁用预警配置
     * @param configId 配置ID
     * @param isEnabled 是否启用
     * @return 操作结果
     */
    boolean toggleConfigStatus(Long configId, Boolean isEnabled);
}

